package com.huijinhui.wlmtsys.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 文章信息表，存储已发布的文章
 * </p>
 *
 * @author itheima
 */

@Data
@TableName("article")
public class ApArticle implements Serializable {

    @Schema(title = "文章ID", description = "文章的唯一标识", defaultValue = "1")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(title = "标题", description = "文章的标题", required = false)
    private String title;

    @Schema(title = "作者ID", description = "文章作者的用户ID", required = false)
    @TableField("user_id")
    private Long userId;

    @Schema(title = "作者名称", description = "文章作者的名称", required = false)
    @TableField("user_name")
    private String userName;

    @Schema(title = "频道ID", description = "文章所属频道的ID", required = false)
    @TableField("channel_id")
    private Integer channelId;

    @Schema(title = "频道名称", description = "文章所属频道的名称", required = false)
    @TableField("channel_name")
    private String channelName;

    @Schema(title = "文章布局", description = "文章的布局类型", required = false)
    private Short layout;

    @Schema(title = "文章标记", description = "文章的标记类型", required = false)
    private Byte flag;

    @Schema(title = "封面图片", description = "文章封面图片的URL，多张图片用逗号分隔", required = false)
    private String images;

    @Schema(title = "标签", description = "文章的标签，多个标签用逗号分隔", required = false)
    private String labels;

    @Schema(title = "点赞数量", description = "文章获得的点赞数量", required = false)
    private Integer likes;

    @Schema(title = "收藏数量", description = "文章被收藏的次数", required = false)
    private Integer collection;

    @Schema(title = "评论数量", description = "文章的评论数量", required = false)
    private Integer comment;

    @Schema(title = "阅读数量", description = "文章的阅读次数", required = false)
    private Integer views;

    @Schema(title = "省份ID", description = "文章关联的省份ID", required = false)
    @TableField("province_id")
    private Integer provinceId;

    @Schema(title = "城市ID", description = "文章关联的城市ID", required = false)
    @TableField("city_id")
    private Integer cityId;

    @Schema(title = "区县ID", description = "文章关联的区县ID", required = false)
    @TableField("county_id")
    private Integer countyId;

    @Schema(title = "创建时间", description = "文章的创建时间", required = false)
    @TableField("created_time")
    private Date createdTime;

    @Schema(title = "发布时间", description = "文章的发布时间", required = false)
    @TableField("publish_time")
    private Date publishTime;

    @Schema(title = "同步状态", description = "文章的同步状态", required = false)
    @TableField("sync_status")
    private Boolean syncStatus;


    @Schema(title = "静态页面地址", description = "文章的静态页面URL", required = false)
    @TableField("static_url")
    private String staticUrl;
}